#ifndef _GD25Q_MANAGE_H_
#define _GD25Q_MANAGE_H_

#include "stdint.h"

#define Q25_MODE_READ 0x00
#define Q25_MODE_WRITE 0x01
#define Q25_MODE_Sector_Erase 0x02
#define Q25_MODE_Block_Erase_32K 0x03
#define Q25_MODE_Chip_Erase 0x05

#define Q25_ST_IDLE 0x00
#define Q25_ST_BUSY 0x01
#define Q25_ST_COMP 0x02

typedef struct
{
    uint8_t rw_mode;
    uint8_t St;
    uint32_t Addr;
    uint8_t *data;
    uint32_t Len;
    void (*CallBack)(void);
} q25_req_type;

void q25_cmd_req(uint32_t q25_par_addr);

#endif /* _GD25Q_MANAGE_H_ */
